class Ajax {

    //定义baseURL
    constructor(parms) {
        this.baseURL = parms.baseURL
    }

    // get 请求
    get(url, data) {
        return this.ajax('GET', url, data)
    }

    // post 请求
    post(url, data) {
        return this.ajax('POST', url, data)
    }

    // 公共请求方法
    ajax(method, url, data) {
        wx.showLoading({
            title: '加载中',
            mask: false
        })
        return new Promise((resolve, reject) => {
            wx.request({
                url: this.baseURL + url,
                data,
                header: {},
                method,
                dataType: 'json',
                responseType: 'text',
                success: res => {
                    if(res.code === 0 ){
                        resolve(res)
                    } else if(res.code == 201) { // 假如201是token过期
                        // 跳转到登录页
                    } else {
                        // ....
                    }
                 
                },
                fail: res => {
                    reject(res)
                },
                complete: res => {
                    wx.hideLoading()
                }
            })
        })
    }
}

const ajax = new Ajax({
    baseURL: 'https://ym.ys360.cn/api.php'
})

/**
 *  全部导出  ajax.get() 调用
 */
export default ajax

/**
 *  单个导出 解构赋值 { getBanner } 调用
 */

// 首页banner
export const getBanner = () => {
    return ajax.get('/slides/read/2')
}

// 搜索热门词 
export const getHotWord = () => {
    return ajax.get('/other/hot_word')
}

// 授权登录 params: code | encrypted_data | iv
export const getLogin = (code, encrypted_data, iv) => {
    return ajax.get('/wxapp/public/login', {
        code,
        encrypted_data,
        iv
    })
}

// 签到 params: user_id
export const getSignIn = (user_id) => {
    return ajax.get('/other/sign_in', {
        user_id
    })
}

// 课程列表 params:{}
export const getCourseList = (params) => {
    return ajax.get('/course/getList',params)
}

// 课程详情 params: id
export const getCourseDetail = (id) => {
    return ajax.get('/course/getDetailed', {
        id
    })
}

// 日记列表 params: page
export const getDiaryList = (id) => {
    return ajax.get(`/Diary/getList?id=${id}`)
}